package zhh.tangbao.commodity.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import zhh.tangbao.system.entity.DaoEntity;

import java.util.Date;
import java.util.List;

/**
 * 2023/2/26
 * @author 粥灰灰
 * @version 1.0
 * 商品订单
 */

@TableName(value = "commodity_order")
@Data
public class CommodityOrder extends DaoEntity {

    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    /** 订单提交人ID
     * 有些订单可以通过管理系统自行添加，为了避免混淆采用两个字段存储
     * 当管理员通过管理系统添加的时候，recordUserId是管理员的ID，但订单提交人需要通过管理员自行选择，此时两个字段的数据就不同了
     */
    private String createUserId;

    /** 订单状态，状态详情见zhh.tangbao.commodity.constant.OrderStatus */
    private Integer orderStatus;

    /** 订单付款的时间点 */
    @JsonFormat(pattern = "yyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    /** 订单总价格 */
    private Double orderTotalPrice;

    /** 订单内容 */
    @TableField(exist = false)
    private List<CommodityOrderContent> content;

}
